package org.example.dao;

import org.apache.ibatis.annotations.Mapper;
import org.example.domain.BookingRecord;

import java.util.List;

@Mapper
public interface BookingRecordDao {

    /**
     * 增加 疫苗预约记录
     */
    int insertBookingRecord(BookingRecord record);


    /**
     * 修改 记录：根据疫苗预约记录的id
     */
    int updateBookingRecordById(BookingRecord record);


    /**
     * 物理删除：根据疫苗预约记录表的br_id
     */
    int deleteBookingRecordById(Integer br_id);


    /**
     * 物理删除：根据用户的user_uid
     */
    int deleteBookingRecordByUserId(Integer user_uid);



    /**
     * 根据预约记录表的br_id，查找唯一的对象
     */
    BookingRecord selectBookingRecordById(Integer br_id);



    /**
     * 根据用户的user_uid，查找多个预约记录
     */
    List<BookingRecord> selectBookingRecordByUserId(Integer user_uid);


    /**
     * 根据 预约时间booking_time，进行查找
     */
    List<BookingRecord> selectBookingRecordLikeBooking_time(String booking_time);



    /**
     * 根据预约时间升序查询 所有的预约记录
     */
    List<BookingRecord> AscSelectAllByTime();

    /**
     * 根据预约时间降序查询 所有的预约记录
     */
    List<BookingRecord> DescSelectAllByTime();


    /**
     * 查询所有疫苗预约记录
     */
    List<BookingRecord> selectAllBookingRecord();

}
